@media screen and (max-width:599px) {
  :root {
  }


section img {
  width: 100%;
}

  /* ═══ SECTIONS — 각 섹션은 자기 @@마커 사이에만 작성(병렬 작업) ═══ */
  /* @@main:start */
  .main {
    align-items: center;
    padding: 28vw 6vw 98vw;
    background-color: #fff;
    background-image: linear-gradient(to bottom, #fff 0%, rgba(255, 255, 255, 0) 28%), url('/images/main_01.jpg');
    background-size: 192vw 96.8vw, 192vw 96.8vw;
    background-position: right bottom, right bottom;
  }

  .main_tt02 {
    align-items: center;
    font-size: 9.4vw;
    line-height: 12vw;
    letter-spacing: -0.45vw;
    text-align: center;
  }

  .main_tt03 {
    margin-top: 5vw;
    font-size: 3.7vw;
    line-height: 5.8vw;
    text-align: center;
  }
  /* @@main:end */

  /* @@con01:start */
  .con01 {
    padding-top: 14vw;
    padding-bottom: 14vw;
  }

  .con01_tt02_txt {
    margin-top: 2.4vw;
  }

  .con01_tt03 {
    margin-top: 3.6vw;
  }

  .con01_list {
    flex-direction: column;
    align-items: center;
    row-gap: 4vw;
    margin-top: 8vw;
  }

  .con01_card {
    justify-content: center;
    width: 88vw;
    height: 38vw;
    padding-top: 0;
    border-radius: 5vw;
  }

  .con01_label {
    height: 8.8vw;
    padding: 0 4vw;
    font-size: 5.3vw;
    line-height: 7vw;
    letter-spacing: -0.2vw;
  }

  .con01_txt {
    margin-top: 2.4vw;
    font-size: 3.8vw;
    line-height: 5.8vw;
    letter-spacing: -0.2vw;
  }
  /* @@con01:end */

  /* @@con02:start */
  .con02 {
    padding-top: 14vw;
    padding-bottom: 14vw;
  }

  .con02_bowl {
    left: -10vw;
    top: 60vw;
    width: 66vw;
  }

  .con02_cup {
    left: 66vw;
    top: 46vw;
    width: 22vw;
  }

  .con02_sandwich {
    left: 62vw;
    top: 70vw;
    width: 48vw;
  }

  .con02_tt03 {
    margin-top: 3vw;
  }

  .con02_tabs {
    height: 13vw;
    column-gap: 1.5vw;
    margin-top: 60vw;
  }

  .con02_tab {
    width: 22.1vw;
    height: 10vw;
    padding-top: 0;
    border-radius: 3vw 3vw 0 0;
    font-size: 3.8vw;
    line-height: 5vw;
    letter-spacing: -0.1vw;
  }

  .con02_tab_on {
    height: 13vw;
  }

  .con02_panel {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 93vw;
    height: auto;
    padding: 4vw 4vw 7vw;
    border-radius: 0 0 4vw 4vw;
  }

  .con02_panel_img {
    width: 100%;
    border-radius: 3vw;
  }

  .con02_panel_body {
    align-items: center;
    margin-top: 6vw;
    margin-left: 0;
    text-align: center;
  }

  .con02_panel_tt {
    font-size: 5.3vw;
    line-height: 7vw;
    letter-spacing: -0.2vw;
  }

  .con02_panel_txt {
    margin-top: 2.5vw;
    font-size: 3.7vw;
    line-height: 5.6vw;
    letter-spacing: -0.15vw;
  }
  /* @@con02:end */

  /* @@con0304:start */
  /* ── con03 ── */
  .con03 {
    padding-bottom: 29.5vw;
    background: linear-gradient(180deg, var(--color-point) 0, var(--color-point) 126vw, #fff 126vw);
  }

  .con03_panel {
    width: 90vw;
    height: auto;
    padding: 9vw 4vw;
    border-radius: 0 0 8vw 8vw;
  }

  .con03_pill_list {
    column-gap: 4vw;
  }

  .con03_pill {
    width: 14vw;
    height: 14vw;
    font-size: 3.8vw;
    line-height: 5vw;
    letter-spacing: -0.2vw;
  }

  .con03_line {
    width: 36vw;
  }

  .con03_tt02_txt {
    margin-top: 6vw;
  }

  .con03_tt03 {
    margin-top: 3vw;
  }

  .con03_word {
    font-size: 13.5vw;
    line-height: 15vw;
  }

  .con03_word_line {
    margin-top: 14vw;
  }

  /* 점심·저녁은 같은 단어를 두 번 써서(DINNER DINNER) 아침보다 길다 — 375 폭 안에 들어오게 글자만 줄인다 */
  .con03_word_two {
    font-size: 11.8vw;
  }

  .con03_sandwich {
    top: 66vw;
    width: 82vw;
  }

  /* ── con04 ── */
  .con04 {
    margin-top: -8vw;
    padding-top: 10vw;
    padding-bottom: 14vw;
  }

  .con04_cats {
    flex-wrap: wrap;
    row-gap: 2vw;
    width: 87vw;
    height: auto;
    margin-top: 5vw;
    padding: 3vw 3vw;
    border-radius: 3vw;
  }

  .con04_cat_dot {
    width: 1.2vw;
    height: 1.2vw;
    margin: 0 2.6vw;
  }

  .con04_cat {
    font-size: 3.7vw;
    line-height: 5.2vw;
    letter-spacing: -0.2vw;
  }

  .con04_slide {
    width: 92vw;
    margin-top: 6vw;
  }

  .con04_prev,
  .con04_next {
    top: 17vw;
    width: 9vw;
    height: 9vw;
    border-radius: 2vw;
  }

  .con04_prev {
    left: -2vw;
  }

  .con04_next {
    left: auto;
    right: -2vw;
  }

  .con04_arrow {
    width: 3.6vw;
  }

  .con04_card {
    height: 44vw;
    border-radius: 5vw;
  }

  .con04_card_img {
    width: 32vw;
  }

  .con04_card_name {
    margin-top: 2.4vw;
    font-size: 3.8vw;
    line-height: 5.4vw;
    letter-spacing: -0.2vw;
  }

  .con04_empty {
    height: 52vw;
    border-radius: 5vw;
    font-size: 3.8vw;
    line-height: 5.6vw;
  }
  /* @@con0304:end */

  /* @@con0506:start */
  /* ── con05 ── */
  .con05 {
    padding-top: 12vw;
    padding-bottom: 14vw;
    background: url(/images/con05_01.png) no-repeat 0 4vw / 100% auto, var(--color-point);
  }

  .con05_bubble {
    left: 8%;
    top: 9vw;
    width: 21vw;
  }

  .con05_bubble_txt {
    font-size: 4.3vw;
    line-height: 5vw;
  }

  .con05_row {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
  }

  .con05_center {
    order: 1;
    width: 100%;
  }

  .con05_reel_l {
    order: 2;
  }

  .con05_tt03 {
    margin-top: 3.5vw;
  }

  .con05_bowl {
    width: 80vw;
    margin-top: 7vw;
    margin-right: 0;
  }

  .con05_reel {
    width: 88vw;
    margin-top: -30vw;
  }

  .con05_reel_r {
    display: none;
  }

  .con05_reel_card {
    width: 100%;
    height: 78vw;
    border-radius: 5vw;
  }

  /* ── con06 ── */
  .con06 {
    margin-top: 0;
  }

  .con06_in {
    padding-top: 14vw;
    padding-bottom: 14vw;
  }

  .con06_tt02 {
    order: 1;
  }

  .con06_tt02_txt {
    font-size: 6.2vw;
    line-height: 8vw;
    letter-spacing: -0.3vw;
  }

  .con06_tt03 {
    order: 2;
    margin-top: 3vw;
  }

  .con06_bubble {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    height: 11vw;
    margin-top: 3.4vw;
    padding: 0 5vw;
    border-radius: 3.6vw;
  }

  .con06_bubble::after {
    top: calc(100% - 0.6vw);
    width: 4.2vw;
    height: 3.2vw;
  }

  .con06_bubble_01 {
    order: 3;
    margin-top: 8vw;
  }

  .con06_bubble_01::after {
    left: 53%;
  }

  .con06_bubble_02 {
    order: 4;
  }

  .con06_bubble_02::after {
    left: 54%;
  }

  .con06_bubble_03 {
    order: 5;
  }

  .con06_bubble_03::after {
    left: 28%;
  }

  .con06_bubble_04 {
    order: 6;
  }

  .con06_bubble_04::after {
    left: 29%;
  }

  .con06_bubble_txt {
    font-size: 3.7vw;
    line-height: 5vw;
    letter-spacing: -0.2vw;
  }

  .con06_emoji {
    width: 11vw;
  }

  .con06_emoji_01 {
    left: 5%;
    top: 78vw;
  }

  .con06_emoji_02 {
    left: auto;
    right: 5%;
    top: 58vw;
  }

  .con06_row {
    order: 7;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    margin-top: 10vw;
  }

  .con06_score {
    position: relative;
    z-index: auto;
    order: 1;
    width: 88vw;
    height: 65vw;
    border-radius: 6vw;
  }

  .con06_score_tag {
    width: 72vw;
    height: 10.5vw;
    margin-top: 7vw;
    font-size: 4.2vw;
    line-height: 5.2vw;
    letter-spacing: -0.2vw;
  }

  .con06_score_num {
    margin-top: 3vw;
  }

  .con06_score_big {
    font-size: 15vw;
    letter-spacing: -0.5vw;
  }

  .con06_score_small {
    margin-left: 3vw;
    font-size: 7.6vw;
    letter-spacing: -0.3vw;
  }

  .con06_score_img {
    width: 60vw;
    margin-top: 2vw;
    margin-right: 1vw;
  }

  .con06_belt_l {
    order: 2;
    width: 100%;
    margin-top: 6vw;
  }

  .con06_slide {
    width: 58vw;
    margin-right: 4vw;
  }

  .con06_rev {
    width: 100%;
    border-radius: 5vw;
  }
  /* @@con0506:end */

  /* @@con07:start */
  .con07 {
    padding-top: 14vw;
    padding-bottom: 20vw;
    background-position: center;
  }

  .con07_watermark {
    top: auto;
    bottom: -3vw;
    font-size: 18vw;
  }

  .con07_tt03 {
    margin-top: 3vw;
  }

  .con07_cards {
    flex-direction: column;
    align-items: center;
    row-gap: 7vw;
    margin-top: 10vw;
  }

  .con07_card {
    width: 86vw;
  }

  .con07_bar {
    width: 86vw;
    height: 9vw;
    border-width: 3px;
  }

  .con07_sheet {
    width: 77vw;
    height: 44vw;
    margin-top: -4.5vw;
    padding-top: 8vw;
  }

  .con07_pill {
    width: auto;
    height: 8.6vw;
    padding: 0 5vw;
    font-size: 4vw;
    line-height: 6vw;
    letter-spacing: -0.2vw;
  }

  .con07_sub {
    margin-top: 3.4vw;
    font-size: 3.6vw;
    line-height: 5vw;
    letter-spacing: -0.15vw;
  }

  .con07_num {
    margin-top: 2vw;
  }

  .con07_num_val {
    font-size: 8.5vw;
    letter-spacing: -0.4vw;
  }

  .con07_num_unit {
    font-size: 6vw;
    letter-spacing: -0.3vw;
    margin-left: 1vw;
  }
  /* @@con07:end */

  /* @@con08:start */
  .con08 {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }

  .con08_tt03 {
    margin-top: 3vw;
  }

  .con08_top {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    row-gap: 5vw;
    margin-top: 7vw;
  }

  /* 퍼플 카드 — 텍스트 2열 + 사진은 흐름으로 (PC 의 absol 해제) */
  .con08_sales {
    width: 90vw;
    height: auto;
    padding-top: 7vw;
    padding-left: 0;
    align-items: center;
    border-radius: 6vw;
  }

  .con08_sales_list {
    order: -1;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    column-gap: 5vw;
    width: 100%;
  }

  .con08_sales_item {
    align-items: center;
  }

  .con08_sales_item02 {
    margin-top: 0;
  }

  .con08_sales_badge,
  .con08_sales_badge02 {
    width: 35vw;
    height: 8.5vw;
    margin-left: 0;
    font-size: 3.6vw;
    letter-spacing: -0.2vw;
  }

  .con08_sales_num {
    margin-top: 2.5vw;
    font-size: 8vw;
    line-height: 11vw;
    letter-spacing: -0.4vw;
  }

  .con08_sales_img01 {
    position: relative;
    top: auto;
    left: auto;
    align-self: flex-start;
    width: 40vw;
    margin-top: 4vw;
    padding-left: 5vw;
  }

  .con08_sales_img02 {
    position: relative;
    top: auto;
    left: auto;
    align-self: flex-end;
    width: 78vw;
    margin-top: -24vw;
    margin-right: -11vw;
    margin-bottom: -3vw;
  }

  /* 수익 표 카드 */
  .con08_table {
    width: 90vw;
    height: auto;
    padding: 6vw 4vw 6vw;
    border-radius: 6vw;
  }

  .con08_tbl_cap {
    width: 100%;
    margin-top: 0;
    font-size: 3.3vw;
    line-height: 4.8vw;
    letter-spacing: -0.15vw;
    text-align: right;
  }

  .con08_tbl {
    width: 100%;
    margin-top: 2vw;
    font-size: 3.5vw;
  }

  .con08_col01 {
    width: 34%;
  }

  .con08_col02 {
    width: 36%;
  }

  .con08_col03 {
    width: 30%;
  }

  .con08_tbl th {
    height: 10vw;
  }

  .con08_tbl td {
    height: 9.5vw;
  }

  .con08_tbl_sum {
    font-size: 4vw;
  }

  .con08_tbl_sum td {
    height: 13vw;
  }

  .con08_tbl_sum_tt {
    font-size: 3.7vw;
  }

  .con08_tbl_note {
    width: 100%;
    margin-top: 3vw;
    font-size: 3.3vw;
    line-height: 4.8vw;
    letter-spacing: -0.15vw;
    text-align: center;
  }

  /* 연보라 박스 */
  .con08_bottom {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 90vw;
    height: auto;
    margin-top: 5vw;
    padding: 9vw 4vw 6vw;
    border-radius: 6vw;
  }

  .con08_bottom_txt {
    align-items: center;
    padding-top: 0;
  }

  .con08_bt_h3 {
    text-align: center;
  }

  .con08_bt_desc {
    margin-top: 3vw;
    text-align: center;
  }

  .con08_list {
    row-gap: 2.5vw;
    width: 100%;
    margin-top: 7vw;
  }

  .con08_item {
    display: grid;
    grid-template-columns: 20vw 1fr;
    grid-template-rows: auto auto;
    align-content: center;
    align-items: center;
    column-gap: 3.5vw;
    height: auto;
    padding: 3.5vw 4vw;
    border-radius: 4vw;
  }

  .con08_item_no {
    grid-row: 1 / span 2;
    width: 20vw;
    height: 9vw;
    margin-left: 0;
    font-size: 3.5vw;
  }

  .con08_item_tt {
    width: auto;
    margin-left: 0;
    font-size: 4.6vw;
    letter-spacing: -0.2vw;
  }

  .con08_item_desc {
    margin-top: 1vw;
    font-size: 3.4vw;
    line-height: 5vw;
    letter-spacing: -0.15vw;
  }
  /* @@con08:end */

  /* @@con09:start */
  .con09 {
    padding-top: 4vw;
    padding-bottom: 6vw;
  }

  .con09_bar {
    display: none;
  }

  /* 텍스트 → 사진 1장 → 이전/다음 버튼 순. 우측 슬롯은 숨기고 좌측 슬롯만 쓴다 */
  .con09_row {
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    column-gap: 4vw;
    padding-left: 0;
    padding-right: 0;
  }

  .con09_txt {
    order: 1;
    align-self: auto;
    width: 100%;
    margin-top: 0;
  }

  .con09_sd_wrap {
    order: 2;
    width: 90vw;
    margin-top: 8vw;
  }

  .con09_sd_wrap02 {
    display: none;
  }

  .con09_sd_img {
    width: 100%;
  }

  .con09_h2 {
    margin-top: 2.5vw;
  }

  .con09_tt03 {
    margin-top: 4vw;
  }

  .con09_tt04 {
    margin-top: 4vw;
  }

  .con09_prev,
  .con09_next {
    position: relative;
    left: auto;
    order: 3;
    width: 12vw;
    height: 12vw;
    margin-top: 5vw;
    border-radius: 2.5vw;
  }

  .con09_arr_img {
    width: 4.5vw;
  }
  /* @@con09:end */

  /* @@con10:start */
  .con10 {
    padding-top: 50vw;
    padding-bottom: 12vw;
  }

  .con10_img01 {
    left: 0vw;
    top: 0vw;
    width: 48vw;
  }

  .con10_img02 {
    right: -2vw;
    top: 7vw;
    width: 50vw;
  }

  .con10_tt03 {
    margin-top: 3vw;
  }

  .con10_cards {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    row-gap: 12vw;
    margin-top: 14vw;
    padding-left: 0;
  }

  .con10_card,
  .con10_card02,
  .con10_card03 {
    width: 84vw;
    height: auto;
    margin-left: 0;
    padding-top: 9vw;
    padding-bottom: 6vw;
    border-radius: 6vw;
  }

  .con10_badge {
    top: -5vw;
    width: auto;
    height: 10vw;
    padding-left: 6vw;
    padding-right: 6vw;
    font-size: 4vw;
  }

  .con10_badge01,
  .con10_badge02,
  .con10_badge03 {
    width: auto;
  }

  .con10_ico {
    width: 13vw;
    height: 13vw;
  }

  .con10_ico_img01 {
    width: 7vw;
  }

  .con10_ico_img02 {
    width: 5.7vw;
  }

  .con10_ico_img03 {
    width: 6.6vw;
  }

  .con10_card_tt {
    margin-top: 3vw;
    font-size: 4.5vw;
    line-height: 5vw;
    letter-spacing: -0.2vw;
  }

  .con10_card_desc {
    margin-top: 2vw;
  }
  /* @@con10:end */

  /* @@con11:start */
  .con11 {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    height: auto;
  }

  .con11_left {
    order: 1;
    width: 100%;
    padding-top: 16vw;
    padding-bottom: 16vw;
    padding-left: 6vw;
    padding-right: 6vw;
  }

  .con11_h2 {
    margin-top: 3vw;
  }

  .con11_tt03 {
    margin-top: 4vw;
  }

  /* 번호 01~05: 좌우 경계 세로 배치 → 퍼플 영역 위 가로 한 줄 */
  .con11_nums {
    order: 2;
    position: relative;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    column-gap: 3vw;
    row-gap: 0;
    top: auto;
    width: 100%;
    padding-top: 9vw;
    background-color: var(--color-point);
  }

  .con11_num {
    width: 12vw;
    height: 12vw;
    font-size: 4vw;
  }

  .con11_sd {
    order: 3;
    width: 100%;
  }

  .con11_slide {
    height: auto;
    padding-top: 8vw;
    padding-bottom: 14vw;
    padding-left: 0;
  }

  .con11_pn_label {
    margin-right: 0;
    margin-bottom: 3vw;
    font-size: 6vw;
    line-height: 8vw;
  }

  .con11_pn {
    width: 86vw;
  }

  .con11_pn_img {
    width: 100%;
  }

  .con11_pn_card {
    height: auto;
    margin-top: 2vw;
    padding-top: 9vw;
    padding-bottom: 7vw;
    padding-left: 4vw;
    padding-right: 4vw;
    border-radius: 4vw;
  }

  .con11_pn_tt {
    font-size: 4.8vw;
    line-height: 6.5vw;
    letter-spacing: -0.2vw;
  }

  .con11_hl {
    padding: 0 2vw 0.5vw;
    background-size: 100% 3vw;
  }

  .con11_pn_desc {
    margin-top: 3vw;
  }

  .con11_pin {
    top: 33.3vw;
    width: 2.6vw;
  }
  /* @@con11:end */

  /* @@con12:start */
  .con12 {
    padding-top: 15vw;
    padding-bottom: 14vw;
  }

  .con12_img01 {
    display: none;
  }

  .con12_img02 {
    right: -9vw;
    top: -3vw;
    width: 40vw;
    display: none;
  }

  .con12_h2 {
    margin-right: 0;
  }

  .con12_tt03 {
    margin-top: 3vw;
    margin-right: 0;
  }

  /* 핀·겹침 없이 카드 3장을 세로로 나열 */
  .con12_cards {
    width: 100%;
    margin-top: 12vw;
  }

  .con12_card,
  .con12_card02,
  .con12_card03 {
    position: relative;
    top: auto;
    left: auto;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 90vw;
    height: auto;
    margin-left: 5vw;
    border-radius: 6vw;
  }

  .con12_card02,
  .con12_card03 {
    margin-top: 12vw;
  }

  /* 번호 배지: 카드 상단 테두리 중앙에 걸치게 흐름으로 */
  .con12_no {
    position: relative;
    left: auto;
    width: 11vw;
    height: 11vw;
    margin-top: -5.5vw;
    border-radius: 2.5vw;
    font-size: 4.6vw;
  }

  .con12_txt {
    align-items: center;
    padding-top: 4vw;
    padding-bottom: 6vw;
    padding-left: 5vw;
    padding-right: 5vw;
  }

  .con12_card_tt {
    font-size: 4.8vw;
    line-height: 6.6vw;
    letter-spacing: -0.2vw;
    text-align: center;
  }

  .con12_card_desc {
    margin-top: 2vw;
    text-align: center;
  }

  .con12_card_note {
    margin-top: 4vw;
    font-size: 3.4vw;
    line-height: 5vw;
    text-align: center;
  }

  .con12_half {
    width: 100%;
    height: auto;
    padding-bottom: 9vw;
    border-left: 0;
    border-top: 1px solid var(--color-point);
    border-radius: 0 0 5.4vw 5.4vw;
  }

  .con12_half_lb,
  .con12_half_lb02 {
    margin-top: 9vw;
    font-size: 4.2vw;
    line-height: 6vw;
    letter-spacing: -0.2vw;
  }

  .con12_aw {
    margin-top: 5vw;
  }

  .con12_aw01 {
    padding-left: 0;
  }

  .con12_aw_medal {
    width: 50vw;
    margin: -7.7vw;
  }

  .con12_aw_cert {
    width: 31vw;
    margin-left: 3vw;
  }

  .con12_aw_img01 {
    width: 27vw;
  }

  .con12_aw_img02 {
    width: 26vw;
    margin-left: 2.5vw;
  }

  .con12_aw_img03 {
    width: 27vw;
    margin-left: 2.5vw;
  }

  .con12_half03 {
    padding-top: 9vw;
  }

  .con12_pat_img {
    width: 45vw;
  }

  .con12_pat_prev,
  .con12_pat_next {
    width: 11vw;
    height: 11vw;
    border-radius: 2.5vw;
  }

  .con12_pat_prev {
    left: 5vw;
  }

  .con12_pat_next {
    right: 5vw;
  }

  .con12_arr_img {
    width: 4.5vw;
  }
  /* @@con12:end */

  /* @@con13:start */
  .con13 {
    padding-top: 15vw;
    padding-bottom: 15vw;
  }

  .con13_h2 {
    margin-top: 3vw;
  }

  .con13_tt03 {
    margin-top: 4vw;
  }

  .con13_cards {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    row-gap: 6vw;
    margin-top: 10vw;
  }

  .con13_card {
    width: 86vw;
    height: auto;
    margin-top: 0;
    padding-top: 4vw;
    padding-bottom: 5vw;
    padding-left: 4vw;
    padding-right: 4vw;
    border-radius: 5vw;
  }

  .con13_on {
    translate: 0 -2.6vw;
  }

  .con13_no {
    width: 15vw;
    height: 8vw;
    font-size: 4vw;
  }

  .con13_card_tt {
    margin-top: 3vw;
    font-size: 4.8vw;
    line-height: 4vw;
    letter-spacing: -0.25vw;
  }

  .con13_hl01,
  .con13_hl02,
  .con13_hl03 {
    width: auto;
    padding-left: 2.4vw;
    padding-right: 2.4vw;
    padding-bottom: 1.2vw;
    background-size: 100% 3.8vw;
  }

  .con13_card_desc {
    margin-top: 3vw;
    font-size: 3.7vw;
    line-height: 5.6vw;
    letter-spacing: -0.2vw;
  }

  .con13_tom01 {
    left: -3vw;
    top: auto;
    bottom: -3vw;
    width: 31vw;
  }

  .con13_tom02 {
    left: auto;
    right: 0vw;
    top: 4vw;
    width: 22vw;
  }
  /* @@con13:end */

  /* @@con14:start */
  .con14 {
    padding-top: 15vw;
    padding-bottom: 15vw;
  }

  .con14_row {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding-left: 0;
    padding-right: 0;
  }

  .con14_left {
    align-items: center;
  }

  .con14_h2 {
    text-align: center;
  }

  .con14_tt03 {
    margin-top: 5vw;
    text-align: center;
  }

  .con14_cta {
    width: 50vw;
    height: 14vw;
    margin-top: 6vw;
    font-size: 4.4vw;
    letter-spacing: -0.2vw;
  }

  .con14_right {
    margin-top: 8vw;
  }

  .con14_circle {
    width: 32vw;
    height: 32vw;
    font-size: 3.8vw;
    line-height: 5.4vw;
    letter-spacing: -0.2vw;
  }

  .con14_circle + .con14_circle {
    margin-left: -5vw;
  }

  .con14_note {
    margin-top: 6vw;
    font-size: 3.4vw;
    line-height: 5vw;
    letter-spacing: -0.15vw;
  }
  /* @@con14:end */

  /* @@con15:start */
  .con15 {
    padding: 14vw 5vw 14vw;
  }

  .con15_deco01 {
    width: 40vw;
    left: -6vw;
    top: 3vw;
  }

  .con15_deco02 {
    width: 34vw;
    left: auto;
    right: -5vw;
    top: 6vw;
  }

  .con15_tt03 {
    margin-top: 3.5vw;
  }

  .con15_benefit {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 2.5vw;
    row-gap: 2.5vw;
    width: 100%;
    margin-top: 8vw;
  }

  .con15_card {
    width: auto;
    height: 30vw;
    padding-top: 5vw;
    border-radius: 4vw;
  }

  .con15_card_en {
    font-size: 3.4vw;
    line-height: 4.4vw;
    letter-spacing: 0.05vw;
  }

  .con15_line {
    top: 10.8vw;
  }

  .con15_card_name {
    margin-top: 3.2vw;
    font-size: 4vw;
    line-height: 5vw;
    letter-spacing: -0.2vw;
  }

  .con15_card_val {
    margin-top: 1vw;
    font-size: 3.8vw;
    line-height: 5.4vw;
    letter-spacing: -0.19vw;
  }

  .con15_hl {
    width: auto;
    padding: 0 2.5vw 1vw;
    margin-bottom: -1vw;
    background-position: 0 2.9vw;
    background-size: 100% 3.2vw;
  }

  .con15_hl_05 {
    width: auto;
    padding: 0 2.5vw 1.4vw;
    margin-bottom: -1.4vw;
    background-position: 0 3.6vw;
    background-size: 100% 4.6vw;
  }

  .con15_panels {
    flex-direction: column;
    align-items: center;
    row-gap: 3vw;
    width: 100%;
    margin-top: 3vw;
  }

  .con15_panel {
    width: 100%;
    height: auto;
    padding: 6vw 4vw 7vw;
    border-radius: 4vw;
  }

  .con15_pill {
    width: auto;
    height: 9vw;
    padding: 0 6vw;
    font-size: 3.8vw;
    line-height: 6vw;
    letter-spacing: -0.2vw;
  }

  .con15_pill_01,
  .con15_pill_02 {
    width: auto;
  }

  .con15_panel_txt {
    margin-top: 4vw;
    font-size: 4.2vw;
    line-height: 6.2vw;
    letter-spacing: -0.2vw;
  }

  .con15_panel_note {
    margin-top: 3vw;
    font-size: 3.3vw;
    line-height: 4.8vw;
    letter-spacing: -0.15vw;
  }

  .con15_price {
    margin-top: 3vw;
    margin-right: 0;
  }

  .con15_price_old {
    font-size: 3.6vw;
    line-height: 5vw;
    letter-spacing: -0.18vw;
  }

  .con15_arrow {
    width: 4vw;
    margin-left: 2vw;
    margin-right: 1.5vw;
  }

  .con15_price_new {
    font-size: 6.2vw;
    line-height: 7.5vw;
    letter-spacing: -0.3vw;
  }

  .con15_panel_sum {
    margin-top: 3.5vw;
    font-size: 4vw;
    line-height: 5.6vw;
    letter-spacing: -0.2vw;
  }

  .con15_coin01 {
    width: 14vw;
    left: -2.5vw;
    top: 0vw;
  }

  .con15_coin02 {
    width: 13vw;
    left: auto;
    right: -2.5vw;
    top: auto;
    bottom: -5vw;
  }

  .con15_cta {
    width: 56vw;
    height: 14vw;
    margin-top: 8vw;
    margin-left: 0;
    font-size: 4.6vw;
    line-height: 6vw;
    letter-spacing: -0.2vw;
  }
  /* @@con15:end */

  /* @@con16:start */
  .con16 {
    box-sizing: border-box;
    padding: 14vw 5vw 12vw;
  }

  .con16_tt02 {
    padding-right: 0;
  }

  .con16_wrap {
    width: 100%;
  }

  .con16_unit {
    margin-top: 2vw;
    font-size: 3.3vw;
    line-height: 4.8vw;
  }

  .con16_tbl {
    margin-top: 2.5vw;
  }

  .con16_th {
    height: auto;
    padding: 3.2vw 1vw;
    font-size: 3.6vw;
    line-height: 5vw;
    letter-spacing: -0.18vw;
  }

  .con16_th_01 {
    width: 26%;
    padding-left: 1vw;
  }

  .con16_th_02 {
    width: 32%;
  }

  .con16_th_03 {
    width: 42%;
    padding-left: 3vw;
  }

  .con16_row td {
    height: auto;
    padding: 1.5vw 2vw;
    font-size: 3.4vw;
    line-height: 5vw;
    letter-spacing: -0.17vw;
    overflow-wrap: anywhere;
    text-align: center;
  }

  .con16_row_first td {
    padding-top: 3vw;
  }

  .con16_row_last td {
    padding-bottom: 3vw;
  }

  .con16_td_name {
    padding-left: 1vw;
  }

  .con16_td_remark {
    padding-left: 3vw;
  }

  .con16_amt {
    flex-direction: column;
    padding-left: 0;
  }

  .con16_old {
    width: 20vw;
  }

  .con16_old_txt {
    width: 100%;
    margin-left: 0;
  }

  .con16_slash {
    top: 0.4vw;
    width: 20vw;
  }

  .con16_new {
    width: auto;
    margin-left: 0;
  }

  .con16_remark {
    flex-direction: column;
    align-items: center;
  }

  .con16_tag {
    margin-top: 1.2vw;
    margin-bottom: 0;
  }

  .con16_tail {
    display: none;
  }

  .con16_label {
    width: auto;
    height: 6.6vw;
    padding: 0 3vw;
    border-radius: 2vw;
    font-size: 3.3vw;
    line-height: 4.4vw;
    letter-spacing: -0.15vw;
  }

  .con16_label_01,
  .con16_label_02,
  .con16_label_03 {
    width: auto;
  }

  .con16_td_total {
    height: auto;
    padding: 3.5vw 0;
  }

  .con16_total {
    padding-left: 0;
  }

  .con16_total_name {
    width: 14vw;
    height: 7vw;
    border-radius: 2.4vw;
    font-size: 3.6vw;
    line-height: 5vw;
    letter-spacing: -0.18vw;
  }

  .con16_total_old {
    margin-left: 2.5vw;
    font-size: 3.6vw;
    line-height: 5vw;
    letter-spacing: -0.18vw;
  }

  .con16_total_new {
    margin-left: 1.5vw;
    font-size: 6vw;
    line-height: 7.5vw;
    letter-spacing: -0.3vw;
  }

  .con16_line {
    top: 11.5vw;
    bottom: 14.5vw;
    height: auto;
  }

  .con16_line_01 {
    left: 26%;
  }

  .con16_line_02 {
    left: 58%;
  }

  .con16_note {
    margin-top: 3.5vw;
    font-size: 3.2vw;
    line-height: 5vw;
  }
  /* @@con16:end */

  /* @@con17:start */
  .con17 {
    box-sizing: border-box;
    padding: 8vw 4vw 14vw;
  }

  .con17_wm {
    display: none;
  }

  .con17_img {
    left: 5vw;
    top: 134vw;
    width: 90vw;
  }

  .con17_panel {
    width: 100%;
    padding: 9vw 4vw 8vw;
    border-radius: 7vw;
  }

  .con17_tt02,
  .con17_tt03 {
    padding-right: 0;
  }

  .con17_tt03 {
    margin-top: 3.5vw;
  }

  /* 단계 6개를 2개씩 3줄 격자로(유저 지시) — 행 래퍼(.con17_row)는 풀어 6개를 한 격자에 흘리고, 단계 사이 화살표는 숨긴다 */
  .con17_steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    align-items: stretch;
    column-gap: 3vw;
    row-gap: 3vw;
    width: 100%;
    margin-top: 7vw;
  }

  .con17_row {
    display: contents;
  }

  .con17_step {
    position: relative;
    width: 100%;
    height: auto;
    padding: 4vw 3.5vw 4.5vw;
    border-radius: 4vw;
  }

  .con17_step_head {
    display: block;
  }

  /* 제목은 한 줄이든 두 줄이든 두 줄 높이를 차지해 설명 글이 항상 같은 높이에서 시작한다. 오른쪽 위 숫자와 안 겹치게 오른쪽을 비운다 */
  .con17_step_tt {
    min-height: 10.4vw;
    padding-right: 7vw;
    font-size: 3.9vw;
    line-height: 5.2vw;
    letter-spacing: -0.2vw;
  }

  .con17_step_num {
    position: absolute;
    top: 3.5vw;
    right: 3.5vw;
    font-size: 3.6vw;
    line-height: 5.2vw;
    letter-spacing: -0.18vw;
  }

  .con17_step_txt {
    margin-top: 1.5vw;
    font-size: 3.3vw;
    line-height: 4.9vw;
    letter-spacing: -0.17vw;
  }

  .con17_arrow {
    display: none;
  }

  .con17_bottom {
    flex-direction: column;
    width: 100%;
    margin-top: 60vw;
    margin-right: 0;
  }

  .con17_boxes {
    width: 100%;
    row-gap: 3vw;
    margin-top: 3vw;
  }

  .con17_box {
    width: 100%;
    height: 22vw;
    border-radius: 5vw;
  }

  .con17_box_txt {
    font-size: 4.2vw;
    line-height: 6vw;
    letter-spacing: -0.2vw;
  }

  .con17_msg {
    order: -1;
    margin-bottom: 4vw;
  }

  .con17_tt05 {
    margin-top: 3.5vw;
  }
  /* @@con17:end */

  /* @@con18:start */
  .con18 {
    padding: 9vw 4vw 10vw;
  }

  .con18_wrap {
    flex-direction: column;
    align-items: center;
    row-gap: 5vw;
    width: 100%;
  }

  .con18_left {
    width: 100%;
    height: auto;
    padding: 5vw 5vw 16vw;
    border-radius: 7vw;
  }

  .con18_sd {
    width: 100%;
    border-radius: 5vw;
  }

  .con18_slide_img {
    width: 100%;
  }

  .con18_logo {
    left: auto;
    right: 4vw;
    top: auto;
    bottom: 3vw;
    width: 45vw;
  }

  .con18_right {
    align-items: center;
    width: 100%;
    height: auto;
    padding: 9vw 6vw 9vw;
    border-radius: 6vw;
    background-size: 5vw 5vw;
    background-position: 0 0;
  }

  .con18_txt {
    margin-top: 5vw;
    font-size: 3.7vw;
    line-height: 6vw;
    letter-spacing: -0.19vw;
    text-align: center;
  }

  .con18_txt_first {
    margin-top: 0;
  }

  .con18_sign {
    align-self: center;
    margin-top: 7vw;
    margin-right: 0;
  }

  .con18_name {
    font-size: 3.7vw;
    line-height: 6vw;
    letter-spacing: -0.19vw;
  }

  .con18_sign_img {
    width: 20vw;
    margin-left: 2vw;
  }

  .con18_ring {
    display: none;
  }
  /* @@con18:end */

  /* @@con19:start */
  .con19 {
    box-sizing: border-box;
    padding: 12vw 4vw 12vw;
  }

  .con19_tt02 {
    padding-right: 0;
  }

  .con19_wrap {
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-top: 6vw;
    margin-right: 0;
  }

  .con19_search {
    position: relative;
    order: -1;
    top: auto;
    width: 100%;
    height: 14vw;
    margin-bottom: 4vw;
    padding: 0 2vw 0 5vw;
  }

  .con19_input {
    font-size: 3.8vw;
    line-height: 5vw;
    letter-spacing: -0.19vw;
  }

  .con19_sbtn {
    width: 10vw;
    height: 10vw;
  }

  .con19_sbtn img {
    width: 5.6vw;
  }

  .con19_box {
    flex-direction: column;
    height: auto;
    border-radius: 6vw;
  }

  .con19_map {
    order: -1;
    width: 100%;
    height: 80vw;
  }

  .con19_list {
    width: 100%;
    height: auto;
    max-height: 88vw;
    padding: 0 5vw;
    border-top: 1px solid #dcdcdc;
    border-right: 0;
  }

  .con19_list::-webkit-scrollbar {
    width: 1.2vw;
  }

  .con19_item,
  .con19_item_first {
    align-items: center;
    height: auto;
    padding: 5vw 0;
  }

  .con19_item_name {
    font-size: 4.4vw;
    line-height: 6vw;
    letter-spacing: -0.22vw;
  }

  .con19_item_addr {
    margin-top: 1vw;
    font-size: 3.6vw;
    line-height: 5.2vw;
    letter-spacing: -0.18vw;
  }

  .con19_item_tel {
    margin-top: 0.5vw;
    font-size: 3.4vw;
    line-height: 5vw;
    letter-spacing: -0.17vw;
  }

  .con19_plus {
    width: 9vw;
    height: 9vw;
    margin-top: 0;
    margin-left: 3vw;
    font-size: 5vw;
  }

  .con19_noshop {
    padding: 8vw 0;
    font-size: 3.8vw;
    line-height: 5.5vw;
  }

  .con19_bubble_text {
    padding: 1.8vw 4vw;
    font-size: 3.6vw;
  }

  .popup {
    flex-direction: column;
    width: 90vw;
    padding: 6vw;
    border-radius: 6vw;
  }

  .popup_left {
    width: 100%;
    border-radius: 4vw;
  }

  .popup_right {
    align-items: center;
    width: 100%;
    padding-left: 0;
    padding-top: 5vw;
  }

  .popup_right_2nd {
    font-size: 5vw;
    line-height: 7vw;
    text-align: center;
  }

  .popup_right_3rd,
  .popup_right_4th {
    margin-top: 3vw;
  }

  .popup_right_label {
    width: 17vw;
    font-size: 3.5vw;
    line-height: 5.2vw;
  }

  .popup_right_3rd_right,
  .popup_right_4th_right {
    font-size: 3.8vw;
    line-height: 5.2vw;
  }

  .popup_right_6th_left {
    width: 44vw;
    height: 11vw;
    margin-top: 5vw;
    font-size: 3.8vw;
  }

  .popup_close {
    top: 3vw;
    right: 3vw;
    width: 9vw;
    height: 9vw;
    font-size: 5.5vw;
  }
  /* @@con19:end */

  /* @@con20:start */
  .con20 {
    box-sizing: border-box;
    padding: 10vw 4vw;
    background-position: center;
  }

  .con20_card {
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: auto;
    padding: 10vw 5vw 10vw;
    border-radius: 7vw;
    box-shadow: 0 0 4vw rgba(42, 29, 14, 0.08);
  }

  .con20_left {
    align-items: center;
    width: 100%;
    margin-top: 0;
  }

  .con20_tt02 {
    align-items: center;
    text-align: center;
  }

  .con20_tt03 {
    margin-top: 4vw;
    text-align: center;
  }

  .con20_tel {
    justify-content: center;
    margin-top: 5vw;
  }

  .con20_tel_ic {
    width: 10vw;
    height: 10vw;
  }

  .con20_tel_ic img {
    width: 5.5vw;
  }

  .con20_tel_num {
    margin-left: 3vw;
    font-size: 9vw;
    letter-spacing: -0.5vw;
    text-shadow: 0 2.5vw 4vw rgba(96, 38, 158, 0.16);
  }

  .con20_form {
    width: 100%;
    margin-top: 3vw;
  }

  .con20_row_01,
  .con20_row_02,
  .con20_row_03,
  .con20_row_04,
  .con20_row_05,
  .con20_row_06 {
    height: auto;
    min-height: 13vw;
  }

  .con20_label {
    width: 26vw;
    padding-left: 1.5vw;
    font-size: 3.8vw;
    line-height: 5.5vw;
    letter-spacing: -0.19vw;
  }

  .con20_input {
    font-size: 3.8vw;
    line-height: 5.5vw;
    letter-spacing: -0.19vw;
  }

  .con20_textarea {
    height: 14vw;
    padding: 3.5vw 0;
    box-sizing: border-box;
  }

  .con20_radios {
    column-gap: 4vw;
  }

  .con20_radio input {
    width: 5.6vw;
    height: 5.6vw;
  }

  .con20_radio input:checked {
    box-shadow: inset 0 0 0 0.9vw #fff;
  }

  .con20_radio_txt {
    margin-left: 2vw;
    font-size: 3.8vw;
    line-height: 5.5vw;
    letter-spacing: -0.26vw;
  }

  .con20_select {
    font-size: 3.8vw;
    line-height: 5.5vw;
    letter-spacing: -0.19vw;
  }

  .con20_sel_arrow {
    width: 3.6vw;
    height: 2.4vw;
    margin-right: 1.5vw;
  }

  .con20_agree {
    width: 100%;
    height: 15vw;
  }

  .con20_agree_ck {
    width: 5vw;
    height: 5vw;
  }

  .con20_agree_ck:checked {
    box-shadow: inset 0 0 0 1vw #fff;
  }

  .con20_agree_txt {
    margin-left: 2vw;
    font-size: 3.5vw;
    line-height: 5vw;
    letter-spacing: -0.17vw;
  }

  .con20_submit {
    width: 100%;
    height: 12vw;
    margin-top: 0vw;
    border-radius: 2.6vw;
    font-size: 4.8vw;
    line-height: 6.5vw;
    letter-spacing: -0.25vw;
  }
  /* @@con20:end */

}
